#include "audioinput.h"

AudioInput::AudioInput(QObject *parent)
    : QObject(parent)
{
        // 创建音频格式对象并设置参数
    QAudioFormat format;
    format.setSampleRate(44100); // 设置采样率
    format.setChannelCount(1);   // 设置通道数
    format.setSampleSize(16);    // 设置样本大小（位）
    format.setCodec("audio/pcm"); // 设置编码格式
    format.setByteOrder(QAudioFormat::LittleEndian); // 设置字节顺序
    format.setSampleType(QAudioFormat::SignedInt); // 设置样本类型

    QAudioDeviceInfo info = QAudioDeviceInfo::defaultInputDevice();
    input = new QAudioInput(info,format);

}

void AudioInput::start()
{
    io = input->start();
    QObject ::connect(io,&QIODevice::readyRead,this,&AudioInput::onReadyRead);
}

void AudioInput::onReadyRead()
{
    QByteArray arr = io->readAll();
    emit sndVoice(arr);
}
